home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITButton.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-12  |  3.1 KB  |  112 lines

  1. //
  2. //                  CITButton include
  3. //
  4. //                          StormC
  5. //
  6. //                  version 2003.02.12
  7. //
  8.  
  9. #ifndef CITBUTTON_H
  10. #define CITBUTTON_H TRUE
  11.  
  12. #include <gadgets/button.h>
  13.  
  14. #include "CITGadget.h"
  15.  
  16. //
  17. // This enum for internal use
  18. //
  19. enum
  20. {
  21.   CITBUTTON_RENDERIMAGE,
  22.   CITBUTTON_SELECTIMAGE,
  23.   CITBUTTON_AUTOBUTTON,
  24.   CITBUTTON_PUSHBUTTON,
  25.   CITBUTTON_TEXTPEN,
  26.   CITBUTTON_BACKGROUNDPEN,
  27.   CITBUTTON_FILLTEXTPEN,
  28.   CITBUTTON_FILLPEN,
  29.   CITBUTTON_BEVELSTYLE,
  30.   CITBUTTON_TRANSPARENT,
  31.   CITBUTTON_JUSTIFICATION,
  32.   CITBUTTON_SOFTSTYLE,
  33.   CITBUTTON_VARARGS,
  34.   CITBUTTON_DOMAINSTRING,
  35.   CITBUTTON_INTEGER,
  36.   CITBUTTON_BITMAP,
  37.   CITBUTTON_ANIMBUTTON,
  38.   CITBUTTON_ANIMIMAGES,
  39.   CITBUTTON_SELANIMIMAGES,
  40.   CITBUTTON_MAXANIMIMAGES,
  41.   CITBUTTON_ANIMIMAGENUMBER,
  42.   CITBUTTON_LAST
  43. };
  44.  
  45. class CITButton:public CITGadget
  46. {
  47.   public:
  48.     CITButton();
  49.     ~CITButton();
  50.  
  51.     void RenderImage(struct Image* im)
  52.       {setTag(CITBUTTON_RENDERIMAGE,BUTTON_RenderImage,ULONG(im));}
  53.     void SelectImage(struct Image* im)
  54.       {setTag(CITBUTTON_SELECTIMAGE,BUTTON_SelectImage,ULONG(im));}
  55.     void AutoButton(UWORD type)
  56.       {setTag(CITBUTTON_AUTOBUTTON,BUTTON_AutoButton,type);}
  57.     void PushButton(BOOL b = TRUE)
  58.       {setTag(CITBUTTON_PUSHBUTTON,BUTTON_PushButton,b);}
  59.     void TextPen(LONG pen)
  60.       {setTag(CITBUTTON_TEXTPEN,BUTTON_TextPen,pen);}
  61.     void BackgroundPen(LONG pen)
  62.       {setTag(CITBUTTON_BACKGROUNDPEN,BUTTON_BackgroundPen,pen);}
  63.     void FillTextPen(LONG pen)
  64.       {setTag(CITBUTTON_FILLTEXTPEN,BUTTON_FillTextPen,pen);}
  65.     void FillPen(LONG pen)
  66.       {setTag(CITBUTTON_FILLPEN,BUTTON_FillPen,pen);}
  67.     void BevelStyle(WORD style)
  68.       {setTag(CITBUTTON_BEVELSTYLE,BUTTON_BevelStyle,style);}
  69.     void Transparent(BOOL b)
  70.       {setTag(CITBUTTON_TRANSPARENT,BUTTON_Transparent,b);}
  71.     void Justification(WORD pos)
  72.       {setTag(CITBUTTON_JUSTIFICATION,BUTTON_Justification,pos);}
  73.     void SoftStyle(WORD style)
  74.       {setTag(CITBUTTON_SOFTSTYLE,BUTTON_SoftStyle,style);}
  75.     void VarArgs(APTR arg)
  76.       {setTag(CITBUTTON_VARARGS,BUTTON_VarArgs,ULONG(arg));}
  77.     void DomainString(char* t)
  78.       {setTag(CITBUTTON_DOMAINSTRING,BUTTON_DomainString,ULONG(t));}
  79.     void Integer(int val)
  80.       {setTag(CITBUTTON_INTEGER,BUTTON_Integer,val);}
  81.     void BitMap(struct BitMap* bm)
  82.       {setTag(CITBUTTON_BITMAP,BUTTON_BitMap,ULONG(bm));}
  83.     void AnimButton(BOOL b = TRUE)
  84.       {setTag(CITBUTTON_ANIMBUTTON,BUTTON_AnimButton,b);}
  85.     void AnimImages(struct Image* im)
  86.       {setTag(CITBUTTON_ANIMIMAGES,BUTTON_AnimImages,ULONG(im));}
  87.     void SelAnimImages(struct Image* im)
  88.       {setTag(CITBUTTON_SELANIMIMAGES,BUTTON_SelAnimImages,ULONG(im));}
  89.     void MaxAnimImages(LONG max)
  90.       {setTag(CITBUTTON_MAXANIMIMAGES,BUTTON_MaxAnimImages,max);}
  91.     void AnimImageNumber(LONG num)
  92.       {setTag(CITBUTTON_ANIMIMAGENUMBER,BUTTON_AnimImageNumber,num);}
  93.     void AddAnimImageNumber(ULONG num);
  94.     void SubAnimImageNumber(ULONG num);
  95.     
  96.   protected:
  97.     virtual Object* NewObjectA(TagItem* tags);
  98.     
  99.   private:
  100.     void setTag(int index,ULONG attr,ULONG val);
  101.   
  102.     TagItem* buttonTag;
  103. };
  104.  
  105. enum
  106. {
  107.    BUTTONCLASS_FLAGBITUSED = GADGETCLASS_FLAGBITUSED
  108. };
  109.  
  110.  
  111. #endif
  112.